Release HyperDX - #2919
Merged
Merged
Conversation
Contributor
|
PR author is in the excluded authors list. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
github-actions
Bot
force-pushed
the
changeset-release/main
branch
3 times, most recently
from
August 17, 2026 16:39
4d7d4be to
9484211
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
13 times, most recently
from
August 20, 2026 06:44
07b0f7f to
f52bd2e
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
August 20, 2026 06:58
93c0076 to
2774161
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
6 times, most recently
from
August 20, 2026 20:30
cd171a6 to
ad3835b
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
10 times, most recently
from
August 21, 2026 14:24
4cf2571 to
a0bff7d
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
2 times, most recently
from
August 21, 2026 15:21
d207ee4 to
544293e
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
2 times, most recently
from
August 21, 2026 19:27
2cbe3df to
f3470a7
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
August 21, 2026 19:36
5bb8528 to
d3a3c92
Compare
wrn14897
approved these changes
Aug 21, 2026
Contributor
Author
🟢 Tier 1 — TrivialDocs, images, lock files, a dependency bump, or an automated release. No functional code changes detected. Why this tier:
Review process: Auto-merge once CI passes. No human review required. Stats
|
Contributor
Author
E2E Test Results✅ All tests passed • 308 passed • 1 skipped • 1019s
Tests ran across 4 shards in parallel. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@hyperdx/cli@0.6.2
Patch Changes
save_dashboard/patch_dashboardtools acceptformulas(letter-ref arithmetic over the tile's select items, e.g.A / (A + B) * 100) andshowOperandSerieson line, stacked bar, table and number builder tiles, round-trip them through GET/PUT, and validate the expressions on write — unknown series refs, malformed syntax, combining formulas withasRatio, multiple formulas on a number tile, and formulas on formula-incapable source kinds (anything other than metric, log, or trace) are all rejected with actionable errors. MCPquery_tilecomputes formula columns for both metric and log/trace event tiles, the query-guide prompt documents the feature, and the OpenAPI spec includes the newFormulaschema. The CLI's dashboard tile pipeline now delegates its number/table config transforms to the shared common-utils implementations, so formula tiles render with operand-hiding behavior identical to the web.@hyperdx/api@2.36.0
Minor Changes
8723d7a: Alerts can be configured with multiple notification channels (up to 10 webhooks) via the new
channelsfield on the v2 external API, internal API, and the MCPclickstack_save_alerttool. The legacy singularchannelfield is still accepted on input and mirrored in responses, so existing integrations keep working unchanged.Note that alert updates are a full replace, not a merge. A client that sends only the legacy
channelfield when updating an alert that has several channels will reduce it to that one channel — fetch the alert and resend the completechannelsarray to preserve them.a4b2ad0: The API now recovers from a MongoDB that is unreachable at startup, and exposes a Mongo-aware readiness endpoint. Previously a failed initial connect was never retried: the process kept listening while every Mongo-backed request timed out,
/healthreported 200, and Kubernetes kept the pod Ready indefinitely — cascading into OpAMP 500s and crash-looping collectors. The initial connection is now retried with capped exponential backoff until it succeeds, and both the API and OpAMP servers exposeGET /ready, which returns 503 unless MongoDB is connected (point Kubernetes readiness probes at it;/healthremains a pure liveness check).dc29d57: Chart formulas are now supported across every API surface that persists or accepts chart configs. The external dashboards API v2 and the MCP
save_dashboard/patch_dashboardtools acceptformulas(letter-ref arithmetic over the tile's select items, e.g.A / (A + B) * 100) andshowOperandSerieson line, stacked bar, table and number builder tiles, round-trip them through GET/PUT, and validate the expressions on write — unknown series refs, malformed syntax, combining formulas withasRatio, multiple formulas on a number tile, and formulas on formula-incapable source kinds (anything other than metric, log, or trace) are all rejected with actionable errors. MCPquery_tilecomputes formula columns for both metric and log/trace event tiles, the query-guide prompt documents the feature, and the OpenAPI spec includes the newFormulaschema. The CLI's dashboard tile pipeline now delegates its number/table config transforms to the shared common-utils implementations, so formula tiles render with operand-hiding behavior identical to the web.Patch Changes
d205a77: Allow the ClickHouse exporter request timeout to be configured with
HYPERDX_OTEL_EXPORTER_TIMEOUTin both OpAMP-managed and standalone collectormodes. The default remains 5 seconds.
90da409: Disable mongoose autoIndex in check-alerts worker to prevent MongoExpiredSessionError
43f6856: Allow editing and deleting alerts directly from the alert details page. An
"Edit alert" action opens a modal for changing the alert's threshold,
evaluation interval, schedule, group-by (saved-search alerts), notification
webhook, and note, and a Delete action (with confirmation) removes the alert
and returns to the alerts list. Alert API responses now include the
notification channel's webhook id and the alert's name/message template so
edits round-trip these fields.
40ec085: feat: Add dashboard variable properties to external dashboards API
b0b1380: Align alert firing/recovery chart markers with the evaluated data: markers are now drawn at the start of the newest evaluated bucket (matching the evaluation history table and the plotted data point) instead of at the evaluation time, which sat one bucket to the right.
c592207: Fix MCP tool schemas being rejected by strict JSON Schema draft 2020-12 clients. The number-tile
colorRulesbetweenrule declared itsvalueas a Zod tuple, whichzod-to-json-schemarenders in the draft-07 tuple form (items: [ ... ]). Draft 2020-12 requiresitemsto be a schema rather than an array, soclickstack_save_dashboardandclickstack_patch_dashboardfailed validation — and clients that forward MCP tool schemas straight to an LLM provider (e.g. the Anthropic API) rejected the entire tool list withtools.N.custom.input_schema: JSON schema is invalid, making the MCP server unusable.valueis now a fixed-length array, which validates identically and serializes to the same[min, max]wire format. A new test validates every MCP tool's input schema against the 2020-12 metaschema so this cannot regress.e153f46: Tile alerts on metric charts with formulas now evaluate the formula value instead of the last raw operand series: the alert task previously dropped
formulas/showOperandSerieswhen rebuilding the tile's chart config, so an alert on a formula tile compared the threshold against a raw operand (e.g. bytes) rather than the derived value. Grouped ratio tile alerts also now honorratioMode(share_of_totalpreviously evaluated asper_group).7294944: fix: route per-query SQL debug logging through an injectable logger (ClickHouseClient.logDebugQuery writes per-query SQL via raw console.debug — floods pod logs, no env gate #2416)
BaseClickhouseClientdumped raw SQL to the console on every ClickHouse query,unconditionally and outside the pino logger, flooding API logs with query spam.
Query logging now goes through an optional per-client
customLoggeronClickhouseClientOptions, logged atdebug, and is silent when no logger ispassed. The API injects a pino-backed logger, so query logging follows the
existing
HYPERDX_LOG_LEVELsetting instead of writing toconsole.debug. Thebrowser client defaults to a console logger that pretty-prints the SQL as a
single multi-line block, so query SQL stays visible and readable in devtools in
all builds instead of wrapping into one long line.
The API's log level now defaults to
info(wasdebug), so SQL logging issilent in production unless
HYPERDX_LOG_LEVEL=debugis set. Dev and CI envfiles already pin their levels explicitly and are unaffected. The default also
now applies when
HYPERDX_LOG_LEVELis set but empty — which is what Composepasses when the variable is unset in the environment, and which previously made
pino throw at startup.
e60a7d3: fix: populate the span StatusMessage on failed MCP tool calls so the error text is visible in the trace
9f640a6: Add a Rotate action for the personal API access key in Team Settings → API & Agents. Previously the personal access key — the bearer token for the external API v2 and the MCP server — was generated once at account creation and could never be changed, so a leaked key could only be remediated by deleting the user. Rotating immediately revokes the previous key, so MCP / AI agent configs, external API v2 clients, Terraform / IaC providers, and CI scripts using the old key must be updated with the new one. Browser sessions are unaffected.
08e5b62: Stop the external dashboards API returning aggregation parameters the aggregation cannot carry: a
levelleft over from a quantile agg, or avalueExpressionleft over on a count. Both are ignored when rendering, but the input schema rejects them, so a GET body could not be PUT back and importing a dashboard into Terraform failed with "Level can only be used with quantile aggregation function".Updated dependencies [be26530]
Updated dependencies [c349a5d]
Updated dependencies [68d2ed2]
Updated dependencies [2eedfb2]
Updated dependencies [1ce61c0]
Updated dependencies [43f6856]
Updated dependencies [b1d8dc1]
Updated dependencies [40ec085]
Updated dependencies [b0b1380]
Updated dependencies [a94d6da]
Updated dependencies [8be6810]
Updated dependencies [c592207]
Updated dependencies [9c7742f]
Updated dependencies [dc29d57]
Updated dependencies [7294944]
Updated dependencies [3ecf73c]
Updated dependencies [3ecf73c]
Updated dependencies [e153f46]
Updated dependencies [9f640a6]
Updated dependencies [ea12707]
@hyperdx/app@2.36.0
Minor Changes
A / B * 100), with the same editor controls (Add Formula, series letter badges, Show input series) previously offered only on metric sources. Event formulas compile inline into the chart's single-scan SELECT — no per-series query fan-out — with the same missing-data semantics as the existing events ratio toggle.A= series 1,B= series 2, ...) such asA / (A + B) * 100, with inline structured validation (malformed expressions, unknown series references), per-formula alias and number format, and a "Show input series" toggle to render only the formula column(s) or the formula alongside its operand series. Series rows now carry their reference letter as a badge. Formulas and the "As Ratio" toggle are mutually exclusive, and formulas persist on dashboard tiles and standalone charts.Patch Changes
59b96e9: Upgrade the session replay player from
rrweb@2.0.0-alpha.8to stablerrweb@2.1.1, aligning the replayer with the rrweb version used by current@hyperdx/browserrecorders and picking up several years of upstream replayer fixes (style-sheet handling, virtual DOM, adopted stylesheets). Replay fidelity was verified for sessions recorded with bothrrweb@1.1.3(older browser SDKs) andrrweb@2.1.1(current SDKs).f31a145: Make the
CopySnippetheading optional (omitlabelto hide it) and addIconAiNotebook, a Tabler-compatible custom icon for AI notebooks.68d2ed2: feat: Support dependent variable value queries
2eedfb2: feat: Substitute dashboard variables in chart builder tiles
1ce61c0: feat: Expand dashboard variables and macros nested in macro arguments
43f6856: Allow editing and deleting alerts directly from the alert details page. An
"Edit alert" action opens a modal for changing the alert's threshold,
evaluation interval, schedule, group-by (saved-search alerts), notification
webhook, and note, and a Delete action (with confirmation) removes the alert
and returns to the alerts list. Alert API responses now include the
notification channel's webhook id and the alert's name/message template so
edits round-trip these fields.
905d194: Adopt React 19 context and ref APIs across the app and enforce them via ESLint.
Render
<Context>directly instead of<Context.Provider>, use theusehookinstead of
useContext, and passrefas a regular prop instead of wrappingcomponents in
forwardRef. The corresponding@eslint-react/no-context-provider,no-use-context, andno-forward-refrules are promoted toerrorand theapp's
--max-warningsceiling is lowered. Behavior is unchanged.b0b1380: Align alert firing/recovery chart markers with the evaluated data: markers are now drawn at the start of the newest evaluated bucket (matching the evaluation history table and the plotted data point) instead of at the evaluation time, which sat one bucket to the right.
8be6810: Fix dashboard filter selection state breaking on complex expressions. The
filter parser (shared with the search page) now tracks parenthesis depth in
addition to quote depth, so selections stored for expression-based filters such
as
if(SeverityText = 'error' OR SeverityText = 'fatal', 'Errors', 'Non-errors')or
if(SeverityText IN ('error', 'fatal'), 'Errors', 'Non-errors')are parsedcorrectly instead of being dropped or split on operators/keywords nested inside
the expression.
9c7742f: Fix multi-series metric charts mixing float and integer aggregations (e.g. histogram quantile + histogram count) failing with "No value columns found in result column metadata". The composed UNION ALL query now normalizes every series value to Float64, so the merged column type is deterministic instead of erroring with NO_COMMON_TYPE or producing a Variant(Float64, Int64) column depending on the ClickHouse server's
use_variant_as_common_typesetting. As a defensive layer, all-numericVariant(...)result columns (e.g. from raw-SQL charts) are now also classified as numeric.75909ac: Fix Surrounding Context filters for non-OTEL schemas by using the source's serviceNameExpression for the "Service" filter instead of hardcoded ResourceAttributes lookup. Also adds quick event attribute filters that let users toggle attributes from the current event to narrow surrounding context results.
7294944: fix: route per-query SQL debug logging through an injectable logger (ClickHouseClient.logDebugQuery writes per-query SQL via raw console.debug — floods pod logs, no env gate #2416)
BaseClickhouseClientdumped raw SQL to the console on every ClickHouse query,unconditionally and outside the pino logger, flooding API logs with query spam.
Query logging now goes through an optional per-client
customLoggeronClickhouseClientOptions, logged atdebug, and is silent when no logger ispassed. The API injects a pino-backed logger, so query logging follows the
existing
HYPERDX_LOG_LEVELsetting instead of writing toconsole.debug. Thebrowser client defaults to a console logger that pretty-prints the SQL as a
single multi-line block, so query SQL stays visible and readable in devtools in
all builds instead of wrapping into one long line.
The API's log level now defaults to
info(wasdebug), so SQL logging issilent in production unless
HYPERDX_LOG_LEVEL=debugis set. Dev and CI envfiles already pin their levels explicitly and are unaffected. The default also
now applies when
HYPERDX_LOG_LEVELis set but empty — which is what Composepasses when the variable is unset in the environment, and which previously made
pino throw at startup.
47fe0cd: Use the categorical chart palette and shared tooltip on histogram charts (including Request Latency on the Services dashboard) instead of a hardcoded neon green fill and a one-off tooltip.
9f640a6: Add a Rotate action for the personal API access key in Team Settings → API & Agents. Previously the personal access key — the bearer token for the external API v2 and the MCP server — was generated once at account creation and could never be changed, so a leaked key could only be remediated by deleting the user. Rotating immediately revokes the previous key, so MCP / AI agent configs, external API v2 clients, Terraform / IaC providers, and CI scripts using the old key must be updated with the new one. Browser sessions are unaffected.
c4dcab9: Introduce a shared
ChartCardcomponent that gives standalone charts the samecard treatment as custom dashboard tiles (bordered surface + full-bleed header
divider). The card header stays pinned while the card body scrolls (e.g. cards
wrapping a long list like "Top 20 Most Time Consuming Queries"): in card mode
the header is a fixed row and scrollable list content gets its own internal
scroll region, so the header no longer scrolls away once you pass the first
card-height of content. Migrate the Service
Dashboards (HTTP, Database, Errors, endpoint and DB-query side panels) and the
ClickHouse page from the old
ChartBoxwrapper toChartCardso chart surfaceslook consistent across the app.
adba65a: fix: Sort JSON viewer keys alphabetically so wide Map columns are scannable
Updated dependencies [8723d7a]
Updated dependencies [be26530]
Updated dependencies [a4b2ad0]
Updated dependencies [c349a5d]
Updated dependencies [d205a77]
Updated dependencies [68d2ed2]
Updated dependencies [2eedfb2]
Updated dependencies [1ce61c0]
Updated dependencies [90da409]
Updated dependencies [43f6856]
Updated dependencies [b1d8dc1]
Updated dependencies [40ec085]
Updated dependencies [b0b1380]
Updated dependencies [a94d6da]
Updated dependencies [8be6810]
Updated dependencies [c592207]
Updated dependencies [9c7742f]
Updated dependencies [dc29d57]
Updated dependencies [e153f46]
Updated dependencies [7294944]
Updated dependencies [e60a7d3]
Updated dependencies [3ecf73c]
Updated dependencies [3ecf73c]
Updated dependencies [e153f46]
Updated dependencies [9f640a6]
Updated dependencies [ea12707]
Updated dependencies [08e5b62]
@hyperdx/common-utils@0.27.0
Minor Changes
zAlertChannels(1–10 entries),MAX_ALERT_CHANNELS, and a sharedchannel/channelscross-field validator, ahead of multi-channel alert support in the API.A / B * 100), with the same editor controls (Add Formula, series letter badges, Show input series) previously offered only on metric sources. Event formulas compile inline into the chart's single-scan SELECT — no per-series query fan-out — with the same missing-data semantics as the existing events ratio toggle.save_dashboard/patch_dashboardtools acceptformulas(letter-ref arithmetic over the tile's select items, e.g.A / (A + B) * 100) andshowOperandSerieson line, stacked bar, table and number builder tiles, round-trip them through GET/PUT, and validate the expressions on write — unknown series refs, malformed syntax, combining formulas withasRatio, multiple formulas on a number tile, and formulas on formula-incapable source kinds (anything other than metric, log, or trace) are all rejected with actionable errors. MCPquery_tilecomputes formula columns for both metric and log/trace event tiles, the query-guide prompt documents the feature, and the OpenAPI spec includes the newFormulaschema. The CLI's dashboard tile pipeline now delegates its number/table config transforms to the shared common-utils implementations, so formula tiles render with operand-hiding behavior identical to the web.formulason builder chart configs) in the composed multi-series metric query. Letter-ref expressions likeA / (A + B + C) * 100compile into the final SELECT projection over the pivoted per-series columns, with ratio-consistent missing-data semantics: a missing operand counts as 0 while a zero or missing division denominator yields NULL (a rendered gap).showOperandSeries: falseemits only the formula column(s). Works for grouped and ungrouped line, table, and number charts, and single-series charts with a formula now route through the composed query path.$__sourceTable(<metricType>)macro per series branch, instead of returning a "cannot be auto-converted" error. Non-time-series metric charts remain unsupported, matching the existing single-series restriction.Patch Changes
c349a5d: HAVING, ORDER BY and LIMIT on multi-series metric charts now apply to the final joined result instead of leaking into each per-series branch. They reference the chart's output columns — operand aliases, formula names/aliases, the ratio column, group-by columns and the time bucket — so a HAVING like
"err rate" > 0.5filters the joined rows, ORDER BY actually orders the result (previously it was applied per branch and then discarded by the join), and LIMIT/OFFSET paginate one consistent group set across all series.68d2ed2: feat: Support dependent variable value queries
2eedfb2: feat: Substitute dashboard variables in chart builder tiles
1ce61c0: feat: Expand dashboard variables and macros nested in macro arguments
43f6856: Allow editing and deleting alerts directly from the alert details page. An
"Edit alert" action opens a modal for changing the alert's threshold,
evaluation interval, schedule, group-by (saved-search alerts), notification
webhook, and note, and a Delete action (with confirmation) removes the alert
and returns to the alerts list. Alert API responses now include the
notification channel's webhook id and the alert's name/message template so
edits round-trip these fields.
40ec085: feat: Add dashboard variable properties to external dashboards API
b0b1380: Align alert firing/recovery chart markers with the evaluated data: markers are now drawn at the start of the newest evaluated bucket (matching the evaluation history table and the plotted data point) instead of at the evaluation time, which sat one bucket to the right.
a94d6da: Fix filter sidebar values disappearing behind query proxies. Batched facet-value
queries (KV rollup and map text-index lookups) previously bound one query
parameter per key; with ~100 keys this exceeded the ClickHouse web client's URL
parameter budget, silently promoting the request to a multipart/form-data body
that proxy gateways can reject — every LowCardinality-column and map-attribute
filter then vanished without an error. Keys are now inlined as SQL-escaped
literals so the query rides the POST body with a constant parameter count. Also
fixes an operator-precedence bug that applied the KV rollup time filter (and
notEmpty guard) to only the last OR branch.
8be6810: Fix dashboard filter selection state breaking on complex expressions. The
filter parser (shared with the search page) now tracks parenthesis depth in
addition to quote depth, so selections stored for expression-based filters such
as
if(SeverityText = 'error' OR SeverityText = 'fatal', 'Errors', 'Non-errors')or
if(SeverityText IN ('error', 'fatal'), 'Errors', 'Non-errors')are parsedcorrectly instead of being dropped or split on operators/keywords nested inside
the expression.
c592207: Fix MCP tool schemas being rejected by strict JSON Schema draft 2020-12 clients. The number-tile
colorRulesbetweenrule declared itsvalueas a Zod tuple, whichzod-to-json-schemarenders in the draft-07 tuple form (items: [ ... ]). Draft 2020-12 requiresitemsto be a schema rather than an array, soclickstack_save_dashboardandclickstack_patch_dashboardfailed validation — and clients that forward MCP tool schemas straight to an LLM provider (e.g. the Anthropic API) rejected the entire tool list withtools.N.custom.input_schema: JSON schema is invalid, making the MCP server unusable.valueis now a fixed-length array, which validates identically and serializes to the same[min, max]wire format. A new test validates every MCP tool's input schema against the 2020-12 metaschema so this cannot regress.9c7742f: Fix multi-series metric charts mixing float and integer aggregations (e.g. histogram quantile + histogram count) failing with "No value columns found in result column metadata". The composed UNION ALL query now normalizes every series value to Float64, so the merged column type is deterministic instead of erroring with NO_COMMON_TYPE or producing a Variant(Float64, Int64) column depending on the ClickHouse server's
use_variant_as_common_typesetting. As a defensive layer, all-numericVariant(...)result columns (e.g. from raw-SQL charts) are now also classified as numeric.7294944: fix: route per-query SQL debug logging through an injectable logger (ClickHouseClient.logDebugQuery writes per-query SQL via raw console.debug — floods pod logs, no env gate #2416)
BaseClickhouseClientdumped raw SQL to the console on every ClickHouse query,unconditionally and outside the pino logger, flooding API logs with query spam.
Query logging now goes through an optional per-client
customLoggeronClickhouseClientOptions, logged atdebug, and is silent when no logger ispassed. The API injects a pino-backed logger, so query logging follows the
existing
HYPERDX_LOG_LEVELsetting instead of writing toconsole.debug. Thebrowser client defaults to a console logger that pretty-prints the SQL as a
single multi-line block, so query SQL stays visible and readable in devtools in
all builds instead of wrapping into one long line.
The API's log level now defaults to
info(wasdebug), so SQL logging issilent in production unless
HYPERDX_LOG_LEVEL=debugis set. Dev and CI envfiles already pin their levels explicitly and are unaffected. The default also
now applies when
HYPERDX_LOG_LEVELis set but empty — which is what Composepasses when the variable is unset in the environment, and which previously made
pino throw at startup.
e153f46: Number charts on metric formula configs always hide their operand series:
convertToNumberChartConfigforcesshowOperandSeries: falsewhen formulas are present, so the number tile renders the formula column rather than the first raw operand — regardless of the tile's "Show input series" setting on other display types or when a formula chart is switched to the Number display type.9f640a6: Add a Rotate action for the personal API access key in Team Settings → API & Agents. Previously the personal access key — the bearer token for the external API v2 and the MCP server — was generated once at account creation and could never be changed, so a leaked key could only be remediated by deleting the user. Rotating immediately revokes the previous key, so MCP / AI agent configs, external API v2 clients, Terraform / IaC providers, and CI scripts using the old key must be updated with the new one. Browser sessions are unaffected.
ea12707: Apply the Map KV text-index rewrite (
Map['k'] = 'v'→has(ItemsCol, concat('k', '=', 'v')), enabling ClickHouse's direct-read optimization) to SQL predicates in the top-levelwhere(search box, saved searches, alerts) and to SQLaggConditions copied into the WHERE clause — previously onlysql-typefilters[]entries were rewritten@hyperdx/otel-collector@2.36.0
Minor Changes
395ae8d: feat: support per-signal ClickHouse table TTLs and reconcile TTL on existing tables
Adds
HYPERDX_OTEL_EXPORTER_LOGS_TTL,HYPERDX_OTEL_EXPORTER_TRACES_TTL,HYPERDX_OTEL_EXPORTER_METRICS_TTLandHYPERDX_OTEL_EXPORTER_SESSIONS_TTL, each falling back to the existingHYPERDX_OTEL_EXPORTER_TABLES_TTL, so retention can be configured independently per signal (e.g. keep logs and traces for 6 months while metrics stay at 30 days).When
HYPERDX_OTEL_EXPORTER_RECONCILE_TABLE_TTL=true, the migrate tool also applies the configured TTL to tables that already exist (ALTER TABLE ... MODIFY TTL), diff-guarded so only tables whose retention actually differs are changed. Previously a changed TTL only affected newly-created tables. Extending a retention usesmaterialize_ttl_after_modify=1so data already on disk is kept for the new (longer) period; shrinking uses=0so a startup reconcile never triggers a bulk delete (existing parts age out under their old TTL). Only a plain<anchor> + <one fixed-length interval>retention is rewritten: compound policies (TO VOLUME/TO DISKtiering,RECOMPRESS,GROUP BYrollups, several rules) and calendar-unit retentions (month/quarter/year) are reported and left untouched. Off by default. Implements Click house Data retention settings from the GUI #1311.Patch Changes
HYPERDX_OTEL_EXPORTER_TIMEOUTin both OpAMP-managed and standalone collectormodes. The default remains 5 seconds.